package cn.iocoder.yudao.module.promotion.controller.admin.channel.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.math.BigDecimal;
import javax.validation.constraints.*;

/**
 * 商城链接配置 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ChannelLinkBaseVO {

    @Schema(description = "链接名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotNull(message = "链接名称不能为空")
    private String name;

    @Schema(description = "域名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "域名不能为空")
    private String domain;

    @Schema(description = "积分")
    private Integer points;

    @Schema(description = "节省金额", example = "10380")
    private BigDecimal economizePrice;

    @Schema(description = "活动状态：0开启 1关闭", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "活动状态：0开启 1关闭不能为空")
    private Byte status;

    @Schema(description = "域名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String url;

    @Schema(description = "优惠比例")
    private Integer preferentialRatio;

    @Schema(description = "访问人数")
    private transient Long visitNumber;

    @Schema(description = "支付金额")
    private transient Long payPrice;

    @Schema(description = "未支付金额")
    private transient Long notPayPrice;
}
